home *** CD-ROM | disk | FTP | other *** search
-
- Listing 1
-
- //
- // rational.h
- //
- #include <stdio.h>
-
- class rational
- {
- public:
- rational() { }
- rational(long n) : num(n), denom(1) { }
- rational(long n, long d) : num(n), denom(d) { }
- rational &operator+=(rational r);
- rational &operator-=(rational r);
- rational &operator*=(rational r);
- rational &operator/=(rational r);
- rational operator+() { return *this; }
- rational operator-();
- rational operator++() { return *this += 1; }
- rational operator--() { return *this -= 1; }
- rational operator++(int);
- rational operator--(int);
- void put(FILE *);
- private:
- long num, denom;
- void simplify();
- };
-
- inline rational operator+(rational r1, rational r2)
- {
- return r1 += r2;
- }
-
- inline rational operator-(rational r1, rational r2)
- {
- return r1 -= r2;
- }
-
- inline rational operator*(rational r1, rational r2)
- {
- return r1 *= r2;
- }
-
- inline rational operator/(rational r1, rational r2)
- {
- return r1 /= r2;
- }
-
-
-